#include "ArgumentParser.h"

CArgumentParser::CArgumentParser( const QStringList& list )
{
	Parse(list);
}

CArgumentParser::~CArgumentParser(void)
{
}

void CArgumentParser::Parse( const QStringList& list )
{
	m_listArguments.clear();

	int iIndex = 0;
	while(iIndex<list.size())
	{
		m_listArguments.push_back(list[iIndex]);
		if(list[iIndex][0]=='-')
		{
			QString strTag(list[iIndex]);
			if( (iIndex+1)<list.size() )
			{
				if( list[iIndex+1][0]=='-' )
				{
					m_mapData[strTag] = QString("");
					iIndex += 1;
				}
				else
				{
					m_mapData[strTag] = list[iIndex+1];
					iIndex += 2;
				}
			}
			else
			{
				m_mapData[strTag] = QString("");
				iIndex += 1;
			}
		}
		else
		{
			m_listInvalid.push_back(list[iIndex]);
			iIndex +=1 ;
		}
	}
}

QString CArgumentParser::GetValue( const QString& strTag )
{

	return m_mapData[strTag];
}
